The present invention relates to a technique of optimally allocating objects under virtual machine environment implemented in a non-uniform memory access (NUMA) computer system.
In recent years, processors have been designed based on non-uniform memory access (“NUMA”). Typical processors include IBM POWER6 (Registered Trademark), AMD Opteron (Registered Trademark), Sun Microsystems T2plus and Intel Nehalem. In these processors, memory is directly connected to the processor in order to reduce the gap between memory speed and processor speed which has been rapidly increasing due to multi-core design. A NUMA computer system includes multiple pairs (hereinafter, “nodes”) of processors and memory, and the nodes are interconnected. In these NUMA computer systems, access to memory is asymmetrical among nodes. In other words, latency of a processor of a node to access memory of another node (hereinafter, “remote memory”) is greater (typically two times greater) than the latency of the processor to access memory within its node (hereinafter, “local memory”). Therefore the allocation of memory data greatly influences performance in a NUMA computer system.